* Step 1: DependencyPairs WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
a(y,x) -> y
b(x,y) -> c(a(c(y),a(0(),x)))
- Signature:
{a/2,b/2} / {0/0,c/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {a,b} and constructors {0,c}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
a#(y,x) -> c_1()
b#(x,y) -> c_2(a#(c(y),a(0(),x)),a#(0(),x))
Weak DPs
and mark the set of starting terms.
* Step 2: UsableRules WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
a#(y,x) -> c_1()
b#(x,y) -> c_2(a#(c(y),a(0(),x)),a#(0(),x))
- Weak TRS:
a(y,x) -> y
b(x,y) -> c(a(c(y),a(0(),x)))
- Signature:
{a/2,b/2,a#/2,b#/2} / {0/0,c/1,c_1/0,c_2/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {a#,b#} and constructors {0,c}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
a(y,x) -> y
a#(y,x) -> c_1()
b#(x,y) -> c_2(a#(c(y),a(0(),x)),a#(0(),x))
* Step 3: Trivial WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
a#(y,x) -> c_1()
b#(x,y) -> c_2(a#(c(y),a(0(),x)),a#(0(),x))
- Weak TRS:
a(y,x) -> y
- Signature:
{a/2,b/2,a#/2,b#/2} / {0/0,c/1,c_1/0,c_2/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {a#,b#} and constructors {0,c}
+ Applied Processor:
Trivial
+ Details:
Consider the dependency graph
1:S:a#(y,x) -> c_1()
2:S:b#(x,y) -> c_2(a#(c(y),a(0(),x)),a#(0(),x))
-->_2 a#(y,x) -> c_1():1
-->_1 a#(y,x) -> c_1():1
The dependency graph contains no loops, we remove all dependency pairs.
* Step 4: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
a(y,x) -> y
- Signature:
{a/2,b/2,a#/2,b#/2} / {0/0,c/1,c_1/0,c_2/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {a#,b#} and constructors {0,c}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(1))